#include <vector>
#include <iostream>

using namespace std;

/*
T=
[
	[1],
	[1, 1],
	[1, 2, 1]
  [1, 3, 3, 1]
]
        = 右上 行-1 列
        = 左上 行-1 列-1
T[2][1] = T[1][0] + T[1][1] = 1 + 1 = 2
T[3][1] = T[2][0] + T[2][1] = 1 + 2 = 3

T[i][j] = T[i - 1][j - 1] + T[i - 1][j]

问题1: 在上面这个二维数组里，哪些位置的值是 1？
 - 每一行的第 0 列都是 1
 - 行列相等的时候的位置是 1
*/

vector<vector<int>> yanghuiTriangle(int level) {
  vector<vector<int>> result {{1}};

  for (int i = 1; i < level; ++i) {
    vector<int> line(i + 1, 0);

    /*
    - 每一行的第 0 列都是 1
    - 行列相等的时候的位置是 1
    */
    line[0] = 1;
    line[i] = 1;

    for (int j = 1; j < i; ++j) {
      line[j] = result[i - 1][j - 1] + result[i - 1][j];
    }

    result.push_back(line);
  }

  return result;
}

int main(int argc, char const *argv[])
{
  /* code */
  return 0;
}
